package com.ybkj.daijia.server.mapper;

import com.ybkj.daijia.server.model.DriverEnchashment;
import java.math.BigDecimal;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface DriverEnchashmentMapper {

    /**
     * 获取驾驶员充值总金额
     *
     * @return
     */
    BigDecimal getDriverIncome();

    /**
     * 获取乘客充值总金额
     *
     * @return
     */
    BigDecimal getPassengerIncome();

    /**
     * 获取已审核通过提现总金额
     *
     * @return
     */
    BigDecimal getWithdraw();

    /**
     * 获取当前未审核的提现金额
     *
     * @return
     */
    BigDecimal getCurrentWithdraw();

    /**
     * 插入服务人员申请信息
     *
     * @param record
     * @return
     */
    int insertRecord(DriverEnchashment record);

    /**
     * 根据主键查询服务人员申请信息
     *
     * @param id
     * @return
     */
    DriverEnchashment selectByPrimaryKey(Long id);

    /**
     * 根据一组主键查询服务人员申请信息
     *
     * @param ids
     * @return
     */
    List<DriverEnchashment> selectByIdIn(Long[] ids);

    /**
     * 根据主键删除服务人员申请信息
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 分页查询服务人员申请信息
     *
     * @param offset
     * @param size
     * @param companyId
     * @return
     */
    List<DriverEnchashment> selectByPage(@Param("employId") Long employId, @Param("param") String param, @Param("offset") Integer offset,
        @Param("size") Integer size, @Param("companyIds") Long[] companyIds);

    /**
     * 统计全部服务人员申请信息
     *
     * @return
     */
    long countByPage(@Param("employId") Long employId, @Param("param") String param, @Param("companyIds") Long[] companyIds);

    /**
     * 根据主键更新服务人员申请信息
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(DriverEnchashment record);

    /**
     * 根据服务人员id删除服务人员申请信息
     *
     * @return
     */
    void deleteByEmploy(@Param("employId") Long employId);

    List<DriverEnchashment> selectBylist(@Param("employId") Long employId, @Param("param") String param, @Param("companyIds") Long[] companyIds);

}
